/**
 * Created by sunyi on 10/18/2015.
 */
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.spark.sql.DataFrame;


//任意格式转化为LIBSVM格式

public class LibsvmConvert {

    //三个参数  1.表示源文件  2.表示目标文件 3.表示分隔符  4.表示结果列
    public static void main(String[] args) {
        try {


            File csv = new File(args[0]); // CSV文件

            BufferedReader br = new BufferedReader(new FileReader(csv));

            // 读取直到最后一行
            String line = "";
            while ((line = br.readLine()) != null) {
            // 把一行数据分割成多个字段
                StringTokenizer st = new StringTokenizer(line, args[2]);

                while (st.hasMoreTokens()) {

                    // 每一行的多个字段用TAB隔开表示
                    System.out.print(st.nextToken() + "\t");
                }
                System.out.println();
            }


            br.close();

        } catch (FileNotFoundException e) {
            // 捕获File对象生成时的异常
            e.printStackTrace();
        } catch (IOException e) {
            // 捕获BufferedReader对象关闭时的异常
            e.printStackTrace();
        }
    }
}

